(() => {
    //需求：创建人的对象，需要对人的属性进行一定的约束

    //id 是number类型，必须有，只读的
    //name 是string类型，必须有
    //age 是number类型，必须有
    // sex 是string类型，可以没有

    // 定义一个接口，改接口作为person对象的类型使用，限定或者是约束该对象中的属性数据
    interface IPerson {
        readonly id: number,
        name: string,
        age: number,
        // 不是必须属性
        sex?: string
    }

    // 定义IPerson对象
    const person: IPerson = {
        id: 1,
        name: '小甜甜',
        age: 18,
    }

    console.log(person)

    person.sex = '女'
    // person.id = 100
    console.log(person)
})()